home *** CD-ROM | disk | FTP | other *** search
/ Greenhouse Effect Detection Expriment / NASA Greenhouse Effect Detection Expriment 1992 - Disc 2.iso / software / dos / cdf22pc / src / include / cdfstats.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-02-28  |  3.2 KB  |  127 lines

  1. /******************************************************************************
  2. *
  3. *  NSSDC/CDF                    Header file for CDFstats.
  4. *
  5. *  Version 1.1, 28-Feb-92, ST Systems (STX)
  6. *
  7. *  Modification history:
  8. *
  9. *   V1.0  23-Sep-91, J Love    Original version (for CDF V2.1).
  10. *   V1.1  28-Feb-92, J Love    CDF V2.2.  Added fill value filtering.
  11. *
  12. ******************************************************************************/
  13.  
  14. /******************************************************************************
  15. * Function Prototypes.
  16. ******************************************************************************/
  17.  
  18. #if defined(vms) | defined(__MSDOS__)
  19. void MinMaxInit (void);
  20. void MinMaxCheck (void);
  21. void Monotonic (void);
  22. void ASSIGN (void *, void *);
  23. Boolean EQ (void *, void *);
  24. Boolean NE (void *, void *);
  25. Boolean LT (void *, void *);
  26. Boolean GT (void *, void *);
  27. void DisplayMin (void);
  28. void DisplayMax (void);
  29. void DisplayFill (void);
  30. void CALCstat (long, long);
  31. void DISPstat (char *);
  32. void ConvertDataType (long, long, long, long, void *, void *);
  33. #endif
  34.  
  35. #if defined(unix)
  36. void MinMaxInit ();
  37. void MinMaxCheck ();
  38. void Monotonic ();
  39. void ASSIGN ();
  40. Boolean EQ ();
  41. Boolean NE ();
  42. Boolean LT ();
  43. Boolean GT ();
  44. void DisplayMin ();
  45. void DisplayMax ();
  46. void DisplayFill ();
  47. void CALCstat ();
  48. void DISPstat ();
  49. void ConvertDataType ();
  50. #endif
  51.  
  52. /******************************************************************************
  53. * Global variables.
  54. ******************************************************************************/
  55.  
  56. enum states { _Init, _Steady, _Increase, _Decrease, _noIncrease,
  57.           _noDecrease, _False };
  58.  
  59. #if defined(CDFSTATS)
  60. CDFid id;
  61. Boolean checkMonotonicVar;
  62. Boolean rangeCheck;
  63. Boolean rangeCheckVar;
  64. Boolean filterFills;
  65. Boolean filterFillsVar;
  66. enum states state;
  67. void *validmin;
  68. void *validmax;
  69. void *fillval;
  70. FILE *OUTfp;
  71. void *buffer;
  72. void *min, *max, *last;
  73. void *minINrange, *maxINrange;
  74. long low, high;
  75. long fills;
  76. long valueN;
  77. Boolean oneINrange;
  78. Boolean hyper;
  79. Boolean minmaxInited;
  80. Boolean monoInited;
  81. long dataTypeV;
  82. long numElemsV;
  83. #else
  84. extern CDFid id;
  85. extern Boolean checkMonotonicVar;
  86. extern Boolean rangeCheck;
  87. extern Boolean rangeCheckVar;
  88. extern Boolean filterFills;
  89. extern Boolean filterFillsVar;
  90. extern enum states state;
  91. extern void *validmin;
  92. extern void *validmax;
  93. extern void *fillval;
  94. extern FILE *OUTfp;
  95. extern void *buffer;
  96. extern void *min, *max, *last;
  97. extern void *minINrange, *maxINrange;
  98. extern long low, high;
  99. extern long fills;
  100. extern long valueN;
  101. extern Boolean oneINrange;
  102. extern Boolean hyper;
  103. extern Boolean minmaxInited;
  104. extern Boolean monoInited;
  105. extern long dataTypeV;
  106. extern long numElemsV;
  107. #endif
  108.  
  109. /******************************************************************************
  110. * MACRO.  Checks status code from CDF library.  Note the 'ExitBAD' statement.
  111. ******************************************************************************/
  112.  
  113. #define CHECKstatus(status) { \
  114. char statusText[CDF_STATUSTEXT_LEN+1]; \
  115. if (status != CDF_OK) { \
  116.   CDFlib (SELECT_, CDF_STATUS_, status, \
  117.       GET_, STATUS_TEXT_, statusText, \
  118.       NULL_); \
  119.   printf ("%s (%ld).\n", statusText, status); \
  120.   if (status < CDF_WARN) { \
  121.     CDFlib (CLOSE_, CDF_, \
  122.         NULL_); \
  123.     ExitBAD; \
  124.   } \
  125. } \
  126. }
  127.